'use strict';

/**
 * @ngdoc function
 * @name prestamosApp.controller:AppCtrl
 * @description
 * # AppCtrl
 * Controller of the prestamosApp
 */

var appControllers = angular.module('Controllers');

appControllers.controller('AppCtrl', function ($scope, $location, Sesion) {
    $scope.rolUsuario = {};
    $scope.sesionIniciada = Sesion.estaIniciada;

    /**
     * Permite saber si la sesión ya se inició.
     * @return {boolean} True si la sesión está iniciada, false en caso
     *                   contrario.
     */
    $scope.sesionIniciada = function () {
      return Sesion.estaIniciada;
    };

    /**
     * Devuelve el rol del usuario que está en la sesión actual.
     * @return {object} Información del rol del usuario de la sesión actual,
     *                  o un objeto vacío si la sesión no está iniciada.
     */
    $scope.usuarioEsAdmin = function () {
      return Sesion.usuario &&
        Sesion.usuario.rol &&
        Sesion.usuario.rol.descripcion === 'Admin';
    };

    /**
     * Destruye los datos de la sesión y redirige a la página de login.
     */
    $scope.logout = function () {
      Sesion.destruir();
      sessionStorage.removeItem('sesion');
      $location.path('/login');
    };
  });
